Many of today's electronic and electronically-controlled devices incorporate various types of memory to store data, including, software instructions which are executable by a processing unit, run-time data which is utilized during a single session of a device's use or operation and is then discarded, and persistent data which may be utilized during different sessions of a device's use or operation and which is maintained between such sessions. The various types of memory are often described as belonging to two fundamental categories of memory known as “volatile” and “non-volatile” memory. Generally, the volatile memory category includes those memory devices which store data therein as long as electrical power is supplied to them, while the non-volatile memory category includes those memory devices store data therein on a persistent basis regardless of whether electrical power is supplied to them. Both volatile memory devices and non-volatile memory devices are available in a number of different forms which use a number of different technologies to store data.
One such form of non-volatile memory devices includes flash memory devices which, typically, have a plurality of memory blocks that must be fully erased before new data may be written to and stored therein. Erasure of the memory blocks of a flash memory device is, generally, performed during each erase cycle by applying an electrical erase pulse having an initial erase pulse voltage level to the memory blocks. After application of the erase pulse, the memory blocks are examined to determine whether full erasure has been accomplished. If not, another erase pulse is applied to the memory blocks and the memory blocks are again examined to determine whether full erasure has been accomplished. The application of erase pulses and examination of the memory blocks is repeated until full erasure of the memory blocks is detected during an examination. Notably, the erase pulses applied to each memory block have the same initial erase pulse voltage level and the time required to erase each memory block is directly related to the erase voltage level of such erase pulses.
Unfortunately, repeated erasures of the memory blocks of a flash memory device tend to cause the device's erase performance to degrade, thereby resulting in each successive erase cycle requiring the application of an increased number of erase pulses to accomplish full erasure of the memory blocks and, hence, requiring an increased amount of time for full erasure of the memory blocks. In an attempt to overcome this inherent characteristic of flash memory devices and to reduce erase cycle times, a running count of the applied erase pulses may be maintained and compared against a pre-determined first threshold count after each examination of the memory blocks. If the running count of applied erase pulses exceeds the first threshold count, another comparison may then made to determine whether the running count of applied erase pulses minus the number of applied erase pulses at which the erase pulse voltage level was last incremented exceeds a pre-determined second threshold count. If so, the erase pulse voltage level of all subsequent erase pulses may be incremented, or increased, by a pre-determined incremental voltage level prior to the application of the erase pulses to the memory blocks. It should be noted, however, that while increasing the erase pulse voltage level of subsequent erase pulses has resulted in reduced erase cycle times, further reduction in the erase cycle times of flash memory devices may be advantageous.